
# 位置参数和关键字混用时，位置参数要放在最前面
def user_info(name, age, gender):
    print(f"姓名是：{name}, 年龄是：{age}, 性别是：{gender}")

# 位置参数
user_info("小明", 20, "男")

# 关键字参数
user_info(age=10, gender="女", name="潇潇")
user_info("甜甜", gender="女", age=19)


# 缺省参数
def user_info(name, age, gender="男"):       # 默认值必须写最后
    print(f"姓名是：{name}, 年龄是：{age}, 性别是：{gender}")

user_info("小甜", 20, "女")


# 不定长参数 - 位置不定长 *args
# 不定长定义的形式参数作为元组存在,接收不定长数量的参数传递
def user_info(*args):
    print(f"args参数的类型是：{type(args)}，内容是：{args}")

user_info(1, 2, 3, "小明", "男孩")

# 不定长 - 关键字不定长 **kwargs
# 以字典形式接收不定长参数, 参数传递必须是键值对
def user_info(**kwargs):
    print(f"args参数的类型是：{type(kwargs)}，内容是：{kwargs}")

user_info(name = "小王", age = 11, gender = "男", addr = "南京")






